//////////////////////////////////////////////////////////////////////
//
//  CryScaleformGFx Source Code
//
//  File: ICryScaleformGFx.cpp
//  Description: Create the Scaleform GFx interface.
//
//  History:
//  - July 3, 2010: Created by Paul Reindell
//
//////////////////////////////////////////////////////////////////////
#include "StdAfx.h"

#include <platform_impl.h>

#include <IEngineModule.h>
#include <CryExtension/ICryFactory.h>
#include <CryExtension/Impl/ClassWeaver.h>


#include "ScaleformGFx.h"

extern "C" IScaleformGFx* CreateCryScaleformInterface(ISystem *pSystem)
{
	ModuleInitISystem(pSystem,"CryScaleform");
	CryLogAlways("No Scaleform GFx support");

	return new CScaleformGFx();
}

class CEngineModule_CryScaleform : public IEngineModule
{
	CRYINTERFACE_SIMPLE(IEngineModule)
	CRYGENERATE_SINGLETONCLASS(CEngineModule_CryScaleform, "EngineModule_CryScaleform", 0x28E7D9FDABF442AA, 0xACB7513ADAE73A74)

		//////////////////////////////////////////////////////////////////////////
	virtual const char *GetName() { return "CryScaleform"; };
	virtual const char *GetCategory() { return "CryEngine"; };

	//////////////////////////////////////////////////////////////////////////
	virtual bool Initialize( SSystemGlobalEnvironment &env,const SSystemInitParams &initParams )
	{
		env.pScaleformGFx = CreateCryScaleformInterface(env.pSystem);
		return true;
	}
};

CEngineModule_CryScaleform::CEngineModule_CryScaleform()
{
};

CEngineModule_CryScaleform::~CEngineModule_CryScaleform()
{
};

CRYREGISTER_CLASS(CEngineModule_CryScaleform)